/**  
 * @date 2014-11-25 下午3:43:56
 * @Copyright: 2014 unibroad.com Inc. All rights reserved.
 */
package com.strugglerz.dal.paging;

import java.util.ArrayList;
import java.util.Collection;

/**
 * @Title: PageList.java
 * @Package: com.unibroad.touchus.user.center.common.paging
 * @Description: 通用的分页查询结果集
 * @author: suan@unibroad.com
 * @version V1.0
 */
@SuppressWarnings("rawtypes")
public class PageList<T> extends ArrayList<T> {

    private static final long serialVersionUID = -2684998820565254779L;

    private Paginator paginator;

    /**
     * 创建一个<code>PageList</code>。
     */
    public PageList() {
    }

    /**
     * 创建<code>PageList</code>，并将指定<code>Collection</code>中的内容复制到新的list中。
     * 
     * @param c
     *            要复制的<code>Collection</code>
     */
    public PageList(Collection c) {
        this(c, null);
    }

    /**
     * 创建<code>PageList</code>，并将指定<code>Collection</code>中的内容复制到新的list中。
     * 
     * @param c
     *            要复制的<code>Collection</code>
     */
    @SuppressWarnings("unchecked")
    public PageList(Collection c, Paginator paginator) {
        super(c);
        this.paginator = (paginator == null) ? new Paginator() : paginator;
    }

    /**
     * 取得分页器，可从中取得有关分页和页码的所有信息。
     * 
     * @return 分页器对象
     */
    public Paginator getPaginator() {
        return paginator;
    }

    /**
     * 设置分页器。
     * 
     * @param paginator
     *            要设置的分页器对象
     */
    public void setPaginator(Paginator paginator) {
        if (paginator != null) {
            this.paginator = paginator;
        }
    }
}
